Presently, computing systems are turned on utilizing two methods. The first method is to power up each component of the system at the same time. The second method is to power up each component of the system in a particular order. If the components of the system are powered up all at the same time, then no particular device is needed during power up or powering down of the system. Instead, a single on/off switch is utilized to provide or remove power to the system.
However, as systems become more complex and include a plurality of voltage rails or other components with reset or enable signal capabilities, the order in which components are turned on becomes an integral system operation. For example, if the components are not turned on in the proper order, errors and total system failures can occur. In some cases, the system failures will require technical support, replacement of hardware, loss of operational time, significant costs, and the like. In general, to ensure that the system is powered on in the correct order, a system will include a power and/or reset sequencer for performing the correct powering-up and powering-down sequence of the components within the system.
Presently, hardware devices such as logic gates and the like are used to turn on each component in a system in a cascade fashion. For example, when the power switch is initiated, primary power is turned on. Then, after the primary power is on, the next component in the system to be powered up, e.g., a secondary converter is then activated. The process continues in the hardware defined fashion until all the components are turned on. However, hardware device power on initiation has significant drawbacks. The first is that there is little or no timing control between component activation. Therefore, if a delay is needed between component activation, e.g., for confirmation purposes and the like, it is not available in the hardware device power-on setup.
A second drawback to hardware device sequencing is realized when a modification to the system power-up or power down process is needed. For example, if it is realized that a system needs to power up components in a different order, the entire hardware device will have to be replaced or physically modified to produce the desired system power up power down reorder. This procedure is both time and cost intensive.
One method for overcoming the hardware device sequencing is to utilize a baseboard management controller to perform the system power up/power down sequence. In general, the management controller is a complex processor with a real time operating system (O/S). Thus, the use of the management controller for the power up/power down process is overkill. Moreover, the management controller is complex and has many non-critical jobs. By adding an additional job to the controller, the opportunity for management controller bugs or failure is increased. Additionally, if the controller fails due to a non-system critical fault, the system will still be critically compromised.
For example, the power up/down process could be deleteriously affected by a simple failure or error in the management subsystem which would not otherwise be a critical failure to the system. For example, a failure in a non-user activated process, e.g., a manager utilized user transparent system health monitoring program, could result in a system-wide failure requiring significant technical assistance. In other words, normally the error in the monitoring program would not result in any other system compromise, but due to the management controller performing the critical system power up/down function, the entire system will be subjected to critical system failure due to failure of a non-critical component.